package com.pearl.generator.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.pearl.generator.pojo.PearlFiledInfo;
import com.pearl.generator.pojo.PearlTableInfo;
import com.pearl.generator.pojo.entity.DataSourceEntity;
import com.pearl.generator.pojo.vo.SimpleTableVO;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author TangDan
 * @since 2022-07-07
 */
public interface IDataSourceService extends IService<DataSourceEntity> {
    /**
     * 测试当前连接是否可用
     *
     * @param url      连接地址
     * @param username 用户名
     * @param password 密码
     * @return 连接成功 OR 失败
     */
    boolean testDbOnline(String url, String username, String password);

    /**
     * 查训所有表信息
     *
     * @param dataSourceId 数据源ID
     * @return 表信息集合
     */
    List<SimpleTableVO> tableInfoList(Long dataSourceId);

    /**
     * 查询表字段信息
     *
     * @param tableName 表名
     * @param id        数据源ID
     * @return  表信息
     */
    List<PearlFiledInfo> tableFiledInfo(String tableName, Long id);
}
